《数据结构》,设计将数组A[1][n]中所有奇数移到偶数之前的算法,不另外增加存储空间,时间复杂度为o(n)

来源:百度知道 编辑:UC知道 时间:2024/05/26 18:30:11
请求帮助,我学的是c语言版本的《数据结构》,多谢啦!!!!
希望写的程序像是初学者做的,但能满足题意,一楼的写的很好,但是看上去太专业了,2楼不能运行

A[1][n]不就是A[N]吗,干嘛要这样定义?

给你写个去吃饭吧

算法的复杂度最坏为O(N),没有开辟任何额外的空间,普通变量的定义不算

搞错没有,我的不能运行,程序运行之后,你输入10个数据,用空格隔开,然后回车就行了,难道还要我把数据也全部写在程序中才行.

#include <stdio.h>
#define SIZE 10

void sort(int a[],int n)
{
int i,len,temp;
len=n-1;
for(i=0;i<len;)
{
if(a[i]&0x01==0) //判断是否为偶数
{
temp=a[len];
a[len]=a[i];
a[i]=temp;
len--;
}
else
i++;
}
}
int main()
{
int a[SIZE]={0},i;
for(i=0;i<SIZE;i++)
scanf("%d",&a[i]);
sort(a,SIZE);
for(i=0;i<SIZE;i++)
printf("%-5d",a[i]);
printf("\n");
return 0;
}

int p =0;
int tem;
fro(int i=0;i<n;i++)//n为数组的长度
{
if( 。。。)//判断是否为偶数
{
if(i>p)
{
tem=a[i];
a[i]=a[p];
a[p]=tem;
}
p++;